/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package analisis;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import reticulado.AbstractNode;

/**
 *
 * @author Santiago Avendaño
 */
public class Mapping {
    private Set<AbstractNode> thisNodes;
    private List<Set<AbstractNode>> parameterNodes;

    public Mapping(Integer cantidadParametros) {
        thisNodes = new HashSet<AbstractNode>();
        parameterNodes = new ArrayList<Set<AbstractNode>>(cantidadParametros);
        for(int i = 0; i < cantidadParametros; i++){
            parameterNodes.add(i, new HashSet<AbstractNode>());
        }
    }

    public Set<AbstractNode> getThisNodes() {
        return thisNodes;
    }

    public Set<AbstractNode> getParameterNodes(int i) {
        return parameterNodes.get(i);
    }

    public void setearParametro(int numeroParametro, Set<AbstractNode> nodos ){
        parameterNodes.set(numeroParametro, nodos);
    }

    public void setearThis(Set<AbstractNode> nodos){
        thisNodes = nodos;
    }

    public void agregar(int numeroParametro, AbstractNode nodo){
        parameterNodes.get(numeroParametro).add(nodo);
    }

    public void agregar(int numeroParametro, Set<AbstractNode> nodos){
        parameterNodes.get(numeroParametro).addAll(nodos);
    }
}
